Intelligent interactive voice response (IVR) navigator

ABSTRACT

A method and system are described that interact with a self-service system on behalf of a customer and without requiring a presence of the customer during the interactions. An illustrative method includes receiving one or more inputs from a customer, where the one or more inputs define a desired action to take on behalf of the customer with the self-service system in the absence of the customer&#39;s presence, obtaining contact information for the self-service system, using the contact information to automatically establish a communication session with the self-service system, receiving a prompt from the self-service system, and performing the desired action as a response to the prompt, where the desired action is performed during the communication session on behalf of the customer and in the absence of the customer&#39;s presence.

FIELD

Embodiments of the present disclosure relate generally to communicationmethods and specifically to communication methods used to facilitateinteractions with automated response systems.

BACKGROUND

Interactions between a customer and contact center can consume aninordinate amount of time for the customer. The customer will typicallynavigate a contact center Interactive Voice Response (IVR) menu systemand then routinely need to wait in queue to speak with a live agent. Theamount of time spent navigating the IVR and waiting for a live agent canlead to significant customer frustration.

BRIEF SUMMARY

Embodiments of the present disclosure described herein fundamentallyimprove the customer's experience by providing an ability to automatethe initial navigational steps described above. An Intelligent IVRNavigator is described herein that can either automatically, and withoutcustomer input, conduct the desired interaction on behalf of thecustomer or involve the customer once an agent has become available forthe interaction.

The Intelligent IVR Navigator may be designed to leverage automationtechnology to perform a wide range of interactions with a contact centeron behalf of an end user. This saves significant time and avoidspotential aggravation for the end user because they no longer need tospend time navigating through complicated IVR menus only to then waitfor extended periods of time in queue for an agent. Utilization of anIntelligent IVR Navigator as described herein may result in a farimproved customer experience for the end user and allows the individualto spend their time on other more productive activities.

The Intelligent IVR Navigator is intended to save significant time andeffort for a consumer (e.g., the “customer”) by using automationtechnologies to conduct customer-to-business (C2B) interactions on thecustomer's behalf Although an abundance of automated Personal Assistantcapabilities exist in the marketplace, the proposed Intelligent IVRNavigator specifically targets the intelligent automation ofinteractions between customer and contact center IVR system. Embodimentsof the present disclosure make use of Artificial Intelligence (AI)technologies to dynamically interpret IVR menu structures andintelligently interact with the IVR menu in real-time on behalf of thecustomer. An accommodation can also made to allow a business to securelypublish its IVR menu structure in advance so that the Intelligent IVRNavigator can assimilate it ahead of time.

One embodiment of the present disclosure may utilize an Intelligent IVRNavigator deployment as part of a personal assistant entity. Thepersonal assistant entity would be configured to initially interact witha customer in order to receive instructions. It would then utilize theIntelligent IVR Navigator to interact with a selected contact center IVRsystem on behalf of the customer. In an illustrative but non-limitinguse case, the customer might rely upon the personal assistant tointelligently traverse a contact center's IVR, wait in queue (on behalfof the customer), and then establish a callback time for the customer.In this way, the customer is spared the time needed to navigate the IVRsystem and then wait in queue. The Intelligent IVR Navigator may beconfigured to utilize AI components. NLP (Natural Language Processing)and Deep Learning (Neural Network-based) technologies are examples of AIcomponents that may be leveraged by the Intelligent IVR Navigator toseamlessly and intelligently interact with automated systems of acontact center (e.g., IVR solutions, chatbots, etc.). NLP technologyenables the use of multiple communication modalities (e.g., voice, text,etc.) between the Intelligent IVR Navigator and counter parties. A DeepLearning model may be used to interpret the context of complex C2Binteractions that can occur within a contact center environment and tosupport increased levels of automated decision-making.

Training of an AI component (e.g., a Deep Learning model) can beaccomplished by using a variety of different methods. A representativemethod may involve using an IVR platform, the model to be trained, andthree training datasets as input to the model. Additional test datasetsmay also be used once the model has undergone initial training. Thefirst training dataset (e.g., IVR-templates) may include differentmulti-level IVR menus of the type that are routinely used by businessesas the self-service front-end to their contact centers. The secondtraining dataset (e.g., IVR-menu-flows) may include the sequences of IVRmenu states that will be encountered by a caller during theirself-service interaction with the IVR system. The third training dataset(e.g., IVR-Input) may include selection data that is supplied to the IVRsystem (traditionally by the customer) in order to advance eachself-service interaction. Separate training sequences may then beexecuted by submitting IVR-Input data to the Intelligent IVR Navigatorin the form of a Dual-Tone Multi-Frequency (DTMF) entry and/or spokenvoice. Agent interaction may also be used during the training process toprovide feedback about the relative success of IVR navigation attempts.The model would then undergo continual training while in production(e.g., while in use by the Intelligent IVR Navigator), based on feedbackthat is obtained directly from the customer. Ongoing training of theIntelligent IVR Navigator may be used to improve performance of theIntelligent IVR Navigator in a number of respects. For instance, ifmultiple customers are using the Intelligent IVR Navigator to conducttransactions with a single entity (e.g., a common IVR system), then theresults of those transactions can be used to update training dataassociated with that entity and the entity's IVR system. Alternativelyor additionally, interactions of a customer with the Intelligent IVRNavigator can be used to improve performance of the Intelligent IVRNavigator for other customers, meaning that the Intelligent IVRNavigator can be trained by interactions with one customer for thebenefit of another customer. Alternatively or additionally, interactionsbetween the Intelligent IVR Navigator and one entity's IVR system may beused to train the Intelligent IVR Navigator to interact more efficientlywith other IVR systems of other entities.

In some embodiments, the Intelligent IVR Navigator may be configured tointeract directly with customers and their communication devices. Insome embodiments, it may also be possible to programmatically interfacethe Intelligent IVR Navigator with a customer's Personal Assistant,which means that the Personal Assistant (e.g., Siri, Alexa, etc.) usedand configured by the customer may be further configured to interfacewith the Intelligent IVR Navigator on behalf of the customer and basedon preferences defined by the customer with the Personal Assistant.

Embodiments of the present disclosure contemplate deployment of theIntelligent IVR Navigator within a mobile network core or cloudinfrastructure. The customer can invoke the service from their mobiledevice by using a web link from their mobile browser or by using amobile application that is installed on their mobile device. It isanticipated that use of the service offered by the Intelligent IVRNavigator can improve the customer experience by reducing the amount oftime and user friction that is experienced during a typical C2Binteraction.

It is, therefore, one aspect of the present disclosure to provide anIntelligent IVR Navigator with the ability to automaticallynavigate/traverse and intelligently interact with contact centerautomated system (e.g., IVR systems, chatbots, etc.) in real-time onbehalf of a customer.

It is another aspect of the present disclosure to enable the IntelligentIVR Navigator to learn from prior customer behaviors and therebycontinually improve/personalize the customer's profile. Thedecision-making effectiveness of the present disclosure for a customerwill therefore continually improve.

A non-limiting use case may help further provide an understanding of thecapabilities of the proposed Intelligent IVR Navigator. In thisparticular use case, a customer may seek customer service/productsupport via the Intelligent IVR Navigator. The customer (Bob) would liketo contact a business (ABC Inc.) in order to obtain support for his newhome electronics widget (XYZ). Since Bob previously registered with theIntelligent IVR Navigator, Bob uses the mobile browser on his smartphoneto access the Intelligent IVR Navigator. Because the Intelligent IVRNavigator is available as a web application, access to the IntelligentIVR Navigator is provided to Bob via his mobile browser.

The Intelligent IVR Navigator may prompt Bob to enter a text descriptionof his request, or to verbally state his request. Depending on thenature of Bob's request, he is also prompted to specify a preferredcontact time in case a callback is warranted. In response to the prompt,Bob states that he would like support from ABC Inc. because his newwidget XYZ will not connect to his home Wi-Fi. He also states that acallback time of 2:00 pm or later that day will be fine if necessary.Bob submits the request and then returns to his previous workactivities. Options may be presented to Bob by the Intelligent IVRNavigator based on the Intelligent IVR Navigator's existing knowledge ofthe IVR menu structure for ABC Inc. In particular, the Intelligent IVRNavigator may present Bob with a list of options via the mobile browserthat correspond to IVR menu options the Intelligent IVR Navigator willencounter. Such options may include product name options, product serialnumber options, trouble description, etc.

Upon receiving the request and additional parameters defined by Bob, theIntelligent IVR Navigator retrieves the customer support telephonenumber for ABC Inc. from their website (or from Bob's profile if he haspreviously interacted with ABC Inc.). With the customer supporttelephone number retrieved, the Intelligent IVR Navigator initiates acall to the ABC Inc. customer support contact number. The IntelligentIVR Navigator is presented with a list of IVR menu options. Based onBob's previous inputs, the Intelligent IVR Navigator selects the optionfor “Customer Service” and then selects “Home Electronics” rather than“Home Appliances” or “Garden Furniture” from the IVR menu. At the nextstage of the IVR menu, the Intelligent IVR Navigator then selects widgetXYZ from a long list of different product names/types. The IntelligentIVR Navigator may then select “Network Connectivity Problems” ratherthan “Hardware Problems”, “Software Problems” or “ConfigurationProblems.”

The Intelligent IVR Navigator is then presented with wait treatmentwhile waiting for a customer service representative. After a period oftime has passed (e.g., after 10 minutes has elapsed), a contact centerannouncement asks whether a callback is desired given that the expectedwait time is now 45 minutes. Again, based on Bob's previous inputs, theIntelligent IVR Navigator may select the callback option and specify thetime and date that Bob had initially stated (e.g., 2:00 pm). If thattime is unavailable, the Intelligent IVR Navigator may either promptsBob for an alternate time by sending a notification to his mobile phone,or the Intelligent IVR Navigator may check Bob's calendar for analternate time. An alternate time is then specified for the callback.The options for determining alternate callback times may be definedwithin Bob's personal profile.

After requesting the callback for Bob, the Intelligent IVR Navigator maydisconnect from the call with ABC Inc. and send a message (e.g., an SMSmessage or email message) to Bob. The message may indicate that Bob willbe receiving a call from ABC Inc. customer service at or around thespecified time (e.g., 2:00 pm or alternate). Bob then receives a callfrom ABC Inc. customer service at the specified time later that day.

As used herein, an AI model may correspond to a dataset that is useablein a neural network, a deep learning system, a natural languageprocessing system, or any other type of AI component and that has beentrained by one or more datasets. An AI model may describe behaviors ofan automated response system (e.g., an IVR system, a customer servicechatbot, etc.). The AI model may be stored as a model data file or anyother data structure that is useable within an AI component.

As used herein, the phrases “at least one,” “one or more,” “or,” and“and/or” are open-ended expressions that are both conjunctive anddisjunctive in operation. For example, each of the expressions “at leastone of A, B and C,” “at least one of A, B, or C,” “one or more of A, B,and C,” “one or more of A, B, or C,” “A, B, and/or C,” and “A, B, or C”means A alone, B alone, C alone, A and B together, A and C together, Band C together, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising,” “including,” and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation done without material human input when theprocess or operation is performed. However, a process or operation canbe automatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material.”

The term “computer-readable medium” as used herein refers to anytangible storage and/or transmission medium that participate inproviding instructions to a processor for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, NVRAM, or magnetic or optical disks. Volatile media includesdynamic memory, such as main memory. Common forms of computer-readablemedia include, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, magneto-optical medium, aCD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, and EPROM, aFLASH-EPROM, a solid state medium like a memory card, any other memorychip or cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read. A digital file attachment toe-mail or other self-contained information archive or set of archives isconsidered a distribution medium equivalent to a tangible storagemedium. When the computer-readable media is configured as a database, itis to be understood that the database may be any type of database, suchas relational, hierarchical, object-oriented, and/or the like.Accordingly, the disclosure is considered to include a tangible storagemedium or distribution medium and prior art-recognized equivalents andsuccessor media, in which the software implementations of the presentdisclosure are stored.

A “computer readable signal” medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer readable medium may be transmitted using anyappropriate medium, including but not limited to wireless, wireline,optical fiber cable, RF, etc., or any suitable combination of theforegoing.

The terms “determine,” “calculate,” and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation or technique.

It shall be understood that the term “means” as used herein shall begiven its broadest possible interpretation in accordance with 35 U.S.C.,Section 112, Paragraph 6. Accordingly, a claim incorporating the term“means” shall cover all structures, materials, or acts set forth herein,and all of the equivalents thereof. Further, the structures, materialsor acts and the equivalents thereof shall include all those described inthe summary of the disclosure, brief description of the drawings,detailed description, abstract, and claims themselves.

Aspects of the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Any combinationof one or more computer readable medium(s) may be utilized. The computerreadable medium may be a computer readable signal medium or a computerreadable storage medium.

In yet another embodiment, the systems and methods of this disclosurecan be implemented in conjunction with a special purpose computer, aprogrammed microprocessor or microcontroller and peripheral integratedcircuit element(s), an ASIC or other integrated circuit, a digitalsignal processor, a hard-wired electronic or logic circuit such asdiscrete element circuit, a programmable logic device or gate array suchas PLD, PLA, FPGA, PAL, special purpose computer, any comparable means,or the like. In general, any device(s) or means capable of implementingthe methodology illustrated herein can be used to implement the variousaspects of this disclosure. Exemplary hardware that can be used for thedisclosed embodiments, configurations, and aspects includes computers,handheld devices, telephones (e.g., cellular, Internet enabled, digital,analog, hybrids, and others), and other hardware known in the art. Someof these devices include processors (e.g., a single or multiplemicroprocessors), memory, nonvolatile storage, input devices, and outputdevices. Furthermore, alternative software implementations including,but not limited to, distributed processing or component/objectdistributed processing, parallel processing, or virtual machineprocessing can also be constructed to implement the methods describedherein.

Examples of the processors as described herein may include, but are notlimited to, at least one of Qualcomm® Snapdragon® 800 and 801, Qualcomm®Snapdragon® 610 and 615 with 4G LTE Integration and 64-bit computing,Apple® A7 processor with 64-bit architecture, Apple® M7 motioncoprocessors, Samsung® Exynos® series, the Intel® Core™ family ofprocessors, the Intel® Xeon® family of processors, the Intel® Atom™family of processors, the Intel Itanium® family of processors, Intel®Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nmIvy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300,and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments®Jacinto C6000™ automotive infotainment processors, Texas Instruments®OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors,ARM® Cortex-A and ARM926EJ-S™ processors, other industry-equivalentprocessors, and may perform computational functions using any known orfuture-developed standard, instruction set, libraries, and/orarchitecture.

In yet another embodiment, the disclosed methods may be readilyimplemented in conjunction with software using object or object-orientedsoftware development environments that provide portable source code thatcan be used on a variety of computer or workstation platforms.Alternatively, the disclosed system may be implemented partially orfully in hardware using standard logic circuits or VLSI design. Whethersoftware or hardware is used to implement the systems in accordance withthis disclosure is dependent on the speed and/or efficiency requirementsof the system, the particular function, and the particular software orhardware systems or microprocessor or microcomputer systems beingutilized.

In yet another embodiment, the disclosed methods may be partiallyimplemented in software that can be stored on a storage medium, executedon programmed general-purpose computer with the cooperation of acontroller and memory, a special purpose computer, a microprocessor, orthe like. In these instances, the systems and methods of this disclosurecan be implemented as program embedded on personal computer such as anapplet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated measurementsystem, system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system.

Methods described or claimed herein can be performed with traditionalexecutable instruction sets that are finite and operate on a fixed setof inputs to provide one or more defined outputs. Alternatively oradditionally, methods described or claimed herein can be performed usingAI, machine learning, neural networks, or the like. In other words, asystem or contact center is contemplated to include finite instructionsets and/or artificial intelligence-based models/neural networks toperform some or all of the steps described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a communication system inaccordance with at least some embodiments of the present disclosure;

FIG. 2 is a block diagram depicting an Intelligent IVR Navigator inaccordance with at least some embodiments of the present disclosure;

FIG. 3 is a block diagram depicting additional details of an IntelligentIVR Navigator in accordance with at least some embodiments of thepresent disclosure;

FIG. 4 is a flow diagram depicting a method of initializing and trainingAI components of an Intelligent IVR Navigator in accordance with atleast some embodiments of the present disclosure;

FIG. 5 is a flow diagram depicting a method of operating an IntelligentIVR Navigator in accordance with at least some embodiments of thepresent disclosure;

FIG. 6 is a flow diagram depicting a method of enabling a user to defineand utilize IVR preferences at an Intelligent IVR Navigator inaccordance with at least some embodiments of the present disclosure;

FIG. 7 is a flow diagram depicting another method of operating anIntelligent IVR Navigator in accordance with at least some embodimentsof the present disclosure; and

FIG. 8 is a flow diagram depicting a method of enabling an IntelligentIVR Navigator to interact with a new IVR system in accordance with atleast some embodiments of the present disclosure.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of various embodiments disclosed herein. It will beapparent, however, to one skilled in the art that various embodiments ofthe present disclosure may be practiced without some of these specificdetails. The ensuing description provides exemplary embodiments only,and is not intended to limit the scope or applicability of thedisclosure. Furthermore, to avoid unnecessarily obscuring the presentdisclosure, the preceding description omits a number of known structuresand devices. This omission is not to be construed as a limitation of thescopes of the claims. Rather, the ensuing description of the exemplaryembodiments will provide those skilled in the art with an enablingdescription for implementing an exemplary embodiment. It should howeverbe appreciated that the present disclosure may be practiced in a varietyof ways beyond the specific detail set forth herein.

While the exemplary aspects, embodiments, and/or configurationsillustrated herein show the various components of the system collocated,certain components of the system can be located remotely, at distantportions of a distributed network, such as a Local Area Network (LAN)and/or the Internet, or within a dedicated system. Thus, it should beappreciated, that the components of the system can be combined in to oneor more devices or collocated on a particular node of a distributednetwork, such as an analog and/or digital telecommunications network, apacket-switched network, or a circuit-switched network. It will beappreciated from the following description, and for reasons ofcomputational efficiency, that the components of the system can bearranged at any location within a distributed network of componentswithout affecting the operation of the system.

Embodiments of the disclosure provide systems and methods for enablingan Intelligent IVR Navigator to act on behalf of a customer withautomated resources of a contact center. The automated resources withwhich the Intelligent IVR Navigator interacts may include an IVR system,a chatbot, or any number of other automated/self-service systems offeredby a contact center to a customer. While various embodiments will bedescribed in connection with an Intelligent IVR Navigator interactingwith an IVR system of a contact center, it should be appreciated thatembodiments of the present disclosure are not so limited. Rather, anIntelligent IVR Navigator may be configured to interact with non-voicesystems provided by a contact center. As a specific but non-limitingexample, an Intelligent IVR Navigator may be configured to interact witha chatbot on behalf of a customer without departing from the scope ofthe present disclosure.

Various additional details of embodiments of the present disclosure willbe described below with reference to the figures. While the flowchartswill be discussed and illustrated in relation to a particular sequenceof events, it should be appreciated that changes, additions, andomissions to this sequence can occur without materially affecting theoperation of the disclosed embodiments, configuration, and aspects.

Referring initially to FIG. 1, a communication system 100 will bedescribed in accordance with at least some embodiments of the presentdisclosure. The communication system 100 is shown to include acommunication network 104 that interconnects a contact center 108 andresources thereof with multiple customer communication devices 112. Asthe name suggests, a customer communication device 112 may be ownedand/or operated by a customer 116. While a single instance of a contactcenter 108 is depicted in FIG. 1, it should be appreciated that thesystem 100 may include any number of contact centers 108 and eachcontact center 108 may be configured provide services to the customer116 in a variety of ways. For instance, some contact centers 108 mayprovide self-service capabilities to a customer 116 by way of an IVRsystem 132 whereas other contact centers 108 may provide self-servicecapabilities to a customer 116 by way of an IVR system 132 and chatbot.The illustration of a single contact center 108 is for ease ofdiscussion and should not be construed as limiting embodiments describedherein.

The customer 116 may correspond to a user or person that interacts withtheir customer communication device 112 to communicate with a resourceof the contact center 108. Specifically, the contact center 108 mayinclude a number of resources that facilitate customer 116 interactionsvia one or multiple communication channels that are presented to andmaintained for use by the customer 116. As shown in FIG. 1, a customer116 may utilize one or multiple customer communication devices 112 tointeract with the contact center 108. Moreover, embodiments of thepresent disclosure contemplate that the customer 116 may use multipledifferent customer communication devices 112 to communicate via a singlecommunication channel. As a non-limiting example, a customer 116 maylogin to a web-based portal or authenticate themselves with a particularchat channel and then utilize the web-based portal or chat channel tocommunicate with any one of their customer communication devices 112. Acustomer communication device 112 may also be used by the customer 116to interact with the Intelligent IVR Navigator 176. Based oninteractions with the Intelligent IVR Navigator 176, the customer 116may invoke the Intelligent IVR Navigator 176 to interact with thecontact center 108 on behalf of the customer 116. In some embodiments,the Intelligent IVR Navigator 176 may be configured to interact with anumber of different contact center 108 on behalf of a single customer116. Alternatively or additionally, the Intelligent IVR Navigator 176may be configured to interact with one or multiple contact centers 108on behalf of multiple different customers 116.

A customer communication device 112 may correspond to a computingdevice, a personal communication device, a portable communicationdevice, a laptop, a smartphone, a personal computer, and/or any otherdevice capable of running an operating system, a web browser, or thelike. For instance, a customer communication device 112 may beconfigured to operate various versions of Microsoft Corp.'s Windows®and/or Apple Corp.'s Macintosh® operating systems, any of a variety ofcommercially-available UNIX® such as LINUX or other UNIX-like operatingsystems, iOS, Android®, etc. These customer communication devices 112may also have any of a variety of applications, including for example, adatabase client and/or server applications, web browser applications,chat applications, social media applications, calling applications, etc.A customer communication device 112 may alternatively or additionally beany other electronic device, such as a thin-client computer,Internet-enabled mobile telephone, and/or personal digital assistant,capable of communicating via communication network 104 and/or displayingand navigating web pages or other types of electronic documents.

The communication network 104 can be any type of network familiar tothose skilled in the art that can support data communications using anyof a variety of commercially-available protocols, including withoutlimitation SIP, TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by wayof example, the communication network 104 may correspond to a LAN, suchas an Ethernet network, a Token-Ring network and/or the like; awide-area network; a virtual network, including without limitation avirtual private network (“VPN”); the Internet; an intranet; an extranet;a public switched telephone network (“PSTN”); an infra-red network; awireless network (e.g., a network operating under any of the IEEE 802.9suite of protocols, the IEEE 802.11 suite of protocols, the Bluetooth®protocol known in the art, and/or any other wireless protocol); and/orany combination of these and/or other networks.

The contact center 108 is shown to include one or more computing devicesthat enable a contact center agent 172, a chatbot, or an IVR system 132to interact with a customer 116 via a communication channel establishedbetween the customer communication device 112 and the contact center108. In particular, the contact center 108 is shown to include a networkborder device 120 and a number of servers 124, 128, 132 that enablefunctionality of the contact center 108. The network border device 120may correspond to one or a number of devices that establish and maintaininformation security for the contact center 108. The network borderdevice 120, in some embodiments, may include a Session Border Controller(SBC), a firewall, a Network Address Translator (NAT) device, a protocolconverter, or combinations thereof. Because the communication network104 may be untrusted from the perspective of an operator of the contactcenter 108, the network border device 120, in some embodiments, may beconfigured to implement security policies or rules. When communications,messages, packets, or the like are received at the network border device120, components of the network border device 120 may analyze thereceived communications, messages, packets, etc. to determine if thecontents of the received communications, messages, packets, etc. can besafely passed to other components of the contact center 108. In someembodiments, all contents that safely pass through the network borderdevice 120 may be transferred to the communication server 128 or routingengine 124 for further analysis and processing (e.g., for inclusion witha particular conversation, for assigning/forwarding to a particularcontact center agent 172, for forwarding to the IVR system 132, forforwarding to a particular chatbot, etc.).

In some embodiments, each server of the contact center 108 may beconfigured to perform a particular task or a set of tasks specific tosupporting functions of the contact center 108. For instance, therouting engine 124 may correspond to a server or set of servers that areconfigured to receive messages from the network border device 120 andmake routing decisions for the message(s) within the contact center 108.The communication server 128 may correspond to a single server or a setof servers that are configured to establish and maintain a communicationchannel between customers 116 and the contact center 108. In someembodiments, the routing engine 124 and communication server 128 maywork in cooperation to ensure that an appropriate agent 172 or set ofagents 172 are assigned to a particular communication channel forpurposes of servicing/addressing contacts initiated by customers 116 ofthe contact center 108. Alternatively or additionally, the routingengine 124 and communication server 128 may be configured to cooperateand connect a customer communication device 112 with the IVR system 132of the contact center 108. By connecting the customer communicationdevice 112 with the IVR system 132, the customer 116 may be allowed tointeract with the IVR system 132 and perform self-service operationsthat do not necessarily include a human agent 172. The routing engine124 and communication server 128, in a similar way, may also beconfigured to connect the Intelligent IVR Navigator 176 to the IVRsystem 132. Although not depicted, the contact center 108 may alsoinclude a chatbot that is connectable to a customer communication device112 and/or the Intelligent IVR Navigator 176.

Specifically, but without limitation, the routing engine 124 may beconfigured to determine whether an agent 172 or automated system (e.g.,IVR system 132 or chatbot) should be assigned to a particularcommunication channel for purposes of answering a customer's 116question and/or for purposes of providing a service to the customer 116.Likewise, the routing engine 124 may be configured to determine that anIntelligent IVR Navigator 176 should be assigned to an agent 172 orautomated system. If appropriate, the routing engine 124 may provideappropriate signaling to an agent's communication device 168 thatenables the agent's communication device 168 to connect with thecommunication channel over which the customer 116 is communicating andto enable the agent 172 to view messages sent by the customer'scommunication device 112, which are eventually assigned to and posted onthe appropriate communication channel. Alternatively or additionally,the routing engine 124 may provide appropriate signaling to thecommunication server 128 to establish/negotiate a communication pathbetween the automated system of the contact center 108 and the customercommunication device 112 or Intelligent IVR Navigator 176. Even morespecifically, the communication server 128 may establish and maintain adigital chat communication channel that is presented to the customer'scommunication device 112 and which enables the customer 116 to send chatmessages to the contact center 108 when desired. Alternatively oradditionally, as will be described in further detail herein, the routingengine 124 may connect an automated system (e.g., the IVR system 132 ora chatbot) to the communication channel to help service the customer's116 needs by interacting with the Intelligent IVR Navigator 176.

It should be appreciated that the communication server 128 may beconfigured to support any number of communication protocols orapplications whether synchronous or asynchronous. Non-limiting examplesof communication protocols or applications that may be supported by thecommunication server 128 include the Session Initiation Protocol (SIP),File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), HTTPsecure (HTTPS), Transmission Control Protocol (TCP), Java, HypertextMarkup Language (HTML), Short Message Service (SMS), Internet Relay Chat(IRC), Web Application Messaging (WAMP), SOAP, MIME, Real-Time MessagingProtocol (RTP), Web Real-Time Communications (WebRTC), WebGL, XMPP,Skype protocol, AIM, Microsoft Notification Protocol, email, etc. Inaddition to supporting text-based communications, the communicationserver 128 may also be configured to support non-text-basedcommunications such as voice communications, video communications, andthe like.

Because the Intelligent IVR Navigator 176 may be required to communicatewith the communication server 128 in addition to interacting with theIVR system 132, the Intelligent IVR Navigator 176 may be configured tosupport any or all of the communication protocols supported by thecommunication server 128. In other words, the Intelligent IVR Navigator176 may be configured to operate using a text-based, voice-based, orvideo-based communication protocol.

Another server or set of servers that may be provided in the contactcenter 108 may be configured to provide an IVR system 132 as part of acustomer 116 self-service option. The IVR system 132 may be configuredas one or multiple servers to provide an IVR experience to the customer116. In some embodiments, the IVR system 132 may include a processor136, network interface 140, and memory 144. The memory 144 may beconfigured to store instructions for executing an IVR function as wellas data for providing IVR functions. Although not depicted, the memory144 may also store a chatbot and other components to support text-basedcustomer 116 self-service options.

While certain components are depicted as being included in the IVRsystem 132, it should be appreciated that such components may beprovided in any other server or set of servers in the contact center108. For instance, components of the IVR system 132 may be provided in arouting engine 124 and/or communication server 128, or vice versa.Further still, embodiments of the present disclosure contemplate asingle server that is provided with all capabilities of the routingengine 124, the communication server 128, and the IVR system 132.

The processor 136 may correspond to one or many computer processingdevices. Non-limiting examples of a processor include a microprocessor,an Integrated Circuit (IC) chip, a General Processing Unit (GPU), aCentral Processing Unit (CPU), or the like. Examples of the processor136 as described herein may include, but are not limited to, at leastone of Qualcomm® Snapdragon® 800 and 801, Qualcomm® Snapdragon® 620 and615 with 4G LTE Integration and 64-bit computing, Apple® A7 processorwith 64-bit architecture, Apple® M7 motion coprocessors, Samsung®Exynos® series, the Intel® Core™ family of processors, the Intel® Xeon®family of processors, the Intel® Atom™ family of processors, the IntelItanium® family of processors, Intel® Core® i5-4670K and i7-4770K 22 nmHaswell, Intel® Core® i5-3570K 22 nm Ivy Bridge, the AMD® FX™ family ofprocessors, AMD® FX-4300, FX-6300, and FX-8350 32 nm Vishera, AMD®Kaveri processors, Texas Instruments® Jacinto C6000™ automotiveinfotainment processors, Texas Instruments® OMAP™ automotive-grademobile processors, ARM® Cortex™-M processors, ARM® Cortex-A andARM926EJ-S™ processors, other industry-equivalent processors, and mayperform computational functions using any known or future-developedstandard, instruction set, libraries, and/or architecture.

The network interface 140 may be configured to enable the IVR system 132to communicate with other machines in the contact center 108 and/or tocommunicate with other machines connected with the communication network104. The network interface 140 may include, without limitation, a modem,a network card (wireless or wired), an infra-red communication device,etc.

The memory 144 may include one or multiple computer memory devices. Thememory 144 may be configured to store program instructions that areexecutable by the processor 136 and that ultimately providefunctionality of the IVR system 132 described herein. The memory 144 mayalso be configured to store data or information that is useable orcapable of being called by the instructions stored in memory 144. Thememory 144 may include, for example, Random Access Memory (RAM) devices,Read Only Memory (ROM) devices, flash memory devices, magnetic diskstorage media, optical storage media, solid-state storage devices, corememory, buffer memory devices, combinations thereof, and the like. Thememory 144, in some embodiments, corresponds to a computer-readablestorage media and while the memory 144 is depicted as being internal tothe IVR system 132, it should be appreciated that the memory 144 maycorrespond to a memory device, database, or appliance that is externalto the IVR system 132.

Illustratively, the memory 144 is shown to store IVR logic 160 forexecution by the processor 136. The IVR logic 160 may access the IVRmenu structure 148, IVR prompts 152, and input processing 156 as part ofproviding an IVR experience to the customer 116 and/or the IntelligentIVR Navigator 176. The IVR logic 160 may correspond to executableinstructions (e.g., an IVR application) that provides prerecorded IVRprompts 152 based on customer 116 inputs or Intelligent IVR Navigator176 inputs. In some embodiments, the IVR logic 160 may utilize the inputprocessing 156 to interpret inputs received from a customercommunication device 112 or Intelligent IVR Navigator 176. As anon-limiting example, such inputs may include DTMF inputs, voice inputs,or combinations thereof. The IVR logic 160 may leverage any type ofcomputing language or script (e.g., voice Extensible Markup Language(VoiceXML), Hypertext Markup Language (HTML), etc.) to determine a nextaction for the IVR system 132 to take in response to an input receivedfrom a customer 116 or Intelligent IVR Navigator 176.

Based on the inputs received, the IVR logic 160 may then traverse theIVR menu structure 148 to provide additional options to the customer 116or Intelligent IVR Navigator 176. The additional options provided to thecustomer 116 or Intelligent IVR Navigator 176 may be obtained from theIVR prompts 152. As additional responses are received from the customer116 or Intelligent IVR Navigator 176, the IVR logic 160 may continueprocessing additional inputs with the input processing 156 and thendetermine additional actions, which may include further traversing theIVR menu structure 148, connecting a human agent 172 with the customer116 or Intelligent IVR Navigator 176, scheduling a callback for thecustomer 116, etc. As inputs or responses are received from the customer116 or Intelligent IVR Navigator 176, the responses and prompts thatlead to the responses may also be stored in a response storage 164location of memory. The responses stored within the response storage 164may later be provided to the Intelligent IVR Navigator 176 as part oftraining an AI model in the Intelligent IVR Navigator 176 and generallyimproving the operation of the Intelligent IVR Navigator 176. In otherwords, the responses stored in the response storage 164 can be providedas feedback or a training dataset to help train operations and behaviorsof the Intelligent IVR Navigator 176.

Although not depicted, a chatbot engine may be provided in addition toor in lieu of the IVR system 132. A chatbot engine may correspond to aset of processor-executable instructions (e.g., a finite instruction setwith defined inputs, variables, and outputs). In some embodiments, thechatbot engine may correspond to an Artificial Intelligence (AI)component of the contact center 108 that is executed by the processor136. The chatbot engine, in some embodiments, may utilize one or moreconversation models, which may be in the form of an artificial neuralnetwork, for recognizing and responding to messages transmitted by acustomer 116 or Intelligent IVR Navigator 176 over a communicationchannel supported by the communication server 128.

Further details of an Intelligent IVR Navigator 176 and its capabilitieswill now be described with reference to FIGS. 2 and 3. As previouslydiscussed, the Intelligent IVR Navigator 176 may utilize machinelearning may have access to training data to initially train behaviorsof the Intelligent IVR Navigator 176. The Intelligent IVR Navigator 176may also be configured to learn from further interactions based onfeedback, which may be provided in an automated fashion (e.g., via arecursive learning neural network) and/or a human-provided fashion(e.g., by a human agent 172, a customer 116, etc. confirming or denyingthat a particular response prepared by the Intelligent IVR Navigator 176was appropriate for a particular scenario).

The Intelligent IVR Navigator 176 may be provided by one or many serversand the server(s) may include a processor 204, a network interface 208,and memory 212. The processor 204 may be similar or identical toprocessor 136. The network interface 208 may be similar or identical tonetwork interface 140. The memory 212 may be similar or identical tomemory 144. As discussed above, the Intelligent IVR Navigator 176 may beconfigured to interact with a plurality of different contact centers 108owned and operated by a plurality of different entities. It should beappreciated, however, that an Intelligent IVR Navigator 176 may beprovided within a contact center 108 for the purpose of enablingautomated interactions with that contact center 108 only.

Because the Intelligent IVR Navigator 176 may be configured to performactions at an automated system of a contact center 108 on behalf of acustomer 116 and without customer 116 input while those interactions areoccurring, the Intelligent IVR Navigator 176 may be provided with a userinterface 228 and an IVR interface 232. The user interface 228 may beconfigured to provide a customer 116 with access to the Intelligent IVRNavigator 176, to present the customer 116 with options for operatingthe Intelligent IVR Navigator 176, and to provide messages/notificationsto the customer 116 as appropriate. In other words, the user interface228 may be responsible for presenting the Intelligent IVR Navigator 176to the customer 112 via interactions with a customer communicationdevice 112. Conversely, the IVR interface 232 may be configured toretrieve information from an IVR system 132, provide inputs to the IVRsystem 132, retrieve training data from the IVR system 132, and manageany other interactions between the Intelligent IVR Navigator 176 and theautomated service of the contact center 108.

In addition to the interfaces, the memory 212 may also be configured tostore AI components 216, which may be executable by the processor 204.Illustrative AI components 216 are shown to include a natural languageprocessing 220 component and a deep learning system 224. Some or all ofthe AI components 216 may be provided as a neural network or collectionof neural networks configured to perform functions of the IntelligentIVR Navigator 176 as described herein. While described primarily as AIcomponents 216, it should be appreciated that certain aspects of thenatural language processing 220 and/or deep learning system 224 may beprovided as executable instructions. Alternatively or additionally,other functions of the Intelligent IVR Navigator 176 may be provided asexecutable instructions rather than being provided as an AI component216. Utilization of an AI component 216, however, may enable theIntelligent IVR Navigator 176 to learn from behaviors and interactionswith one contact center 108 for purposes of improving interactions withother contact centers 108. Likewise, the AI components 216 may betrained and functions thereof improved with respect to customer 116interactions and such improvements may be made for one customer 116based on previous interactions with other customers 116.

As shown in FIG. 3, the AI components 216 may be configured to receivetraining data via training data ingestion 304. The training datareceived at the training data ingestion 304 may include IVR-templates308, IVR-menu-flows 312, and IVR-input 316. Some or all of the trainingdata received at the training data ingestion 304 may be received from aparticular contact center (e.g., as part of training the Intelligent IVRNavigator 176 to operate with the particular contact center). Forexample, the IVR-templates 308 may correspond to a training data setthat describes the IVR menu structure 148 for the IVR system 132 of theparticular contact center 108. The IVR-templates 308 may include adescription of different multi-level IVR menus of the type that areroutinely used by the entity administering the contact center. TheIVR-menu-flows 312 may include sequences of the IVR menu states thatwill be encountered by a customer 116 calling into the IVR system 132.The IVR-menu-flows 312 may include a mapping of IVR prompts 152 atparticular stages or states within the IVR menu structure 146. TheIVR-input 316 may include the selection of data that is supplied to theIVR system 132 by a customer 116 to advance each self-serviceinteraction. In this way, the IVR-input 316 may be mapped to any inputthat can be processed by the input processing 156. In some embodiments,the IVR-input 316 may include a description of inputs acceptable by theIVR system 132 and may include both DTMF inputs as well as spoken ortext inputs.

The training data may be used to initially train the AI components 216including one or more AI models to interact with an IVR system 132 onbehalf of a customer 116. As mentioned above, the Intelligent IVRNavigator 176 may include the IVR interface 232 to interact with the IVRsystem 132 as well as a user interface 228 to interact with the customer116 via the customer communication device 112, which may also bereferred to as a user device 112.

The IVR interface 232 may include one or more Application ProgrammingInterfaces (APIs) that are exposed to the contact center 108 and thatfacilitate machine-to-machine communications between the AI components216 and the IVR system 132. In particular, the IVR interface 232 mayrequire the IVR system 132 to provide data in a particular format suchthat the data can be understood and processed by the AI components 216.Likewise, the IVR interface 232 may provide data outputs to the IVRsystem 132 in a format that is understandable by the IVR system 132. Insome embodiments, the IVR interface 232 may include a DTMF generator, atext communication application, and the like. The AI components 216 maybe configured to receive inputs from and provide outputs to the IVRinterface 232 for communicating with the IVR system 132.

The user interface 228 may include one or a number of differentinterfaces that facilitate communications with a customer 116 via theircustomer communication device 112. The user interface 228 may beconfigured to provide a mobile interface to a mobile communicationdevice (e.g., an application specifically made for an operating systemof the customer communication device 112). Alternatively oradditionally, the user interface 228 may comprise a web server that isconfigured to provide one or more web pages or HTML documents to thecustomer communication device 112 and receive inputs from the customer116 via the web pages or HTML documents. Alternatively or additionally,the user interface 228 may be configured to interface with a PersonalAssistant (e.g., Siri, Alexa, etc.) that operates on behalf of acustomer 116. The Personal Assistant may be provided in the customercommunication device 112, but may be configured to interact with theIntelligent IVR Navigator 176 based on commands provided to the PersonalAssistant by the customer 116. In this way, the user interface 228 maybe configured to specifically interface with one or more different typesof Personal Assistants (e.g., by offering an API or the like) inaddition to providing a human-to-machine interface for a customer 116.

In addition to initial training, the AI components 216 may also beconfigured to be trained during operation (e.g., during runtime in whichthe Intelligent IVR Navigator 176 is interacting with a contact center108 on behalf of a customer 116). Realtime training of the AI components216 may be achieved by utilizing customer 116 input received at the userinterface 228 describing whether the Intelligent IVR Navigator 176performed a particular task to satisfaction of the customer 116. Tofurther facilitate continuing learning of the AI components 216, theIntelligent IVR Navigator 176 may be configured to store historicalresponses and IVR actions in a response/action database 324 as well ashistorical customer actions in a customer action database 320. Theresponse/action database 324 may store information describinginteractions the Intelligent IVR Navigator 176 has with one or manydifferent contact centers 108. The customer action database 320 may beconfigured to store information describing interactions with a customer116 as well as customer 116 feedback regarding the performance of theIntelligent IVR Navigator 176. Information from both databases 324 maybe used as additional training data to help train operations of the AIcomponents 216 and constantly update any AI models used by the AIcomponents 216. For instance, as the Intelligent IVR Navigator 176continues interacting with a particular IVR system 132 of a particularcontact center 108, the details of such interactions and the customer's116 responses to those interactions may be used to further train the AIcomponents 216 to interact with the same IVR system 132 and/or tointeract differently with other IVR systems 132 of other contact centers108 operated by different entities. In this way, the Intelligent IVRNavigator 176 may be allowed to apply training data from interactionswith one contact center 108 to AI models used to interact with another,different, contact center 108.

Referring now to FIGS. 4-8, various methods of operating the systems 100and components described therein will be described in accordance with atleast some embodiments of the present disclosure. The various methodsmay be described with reference to particular element or set ofelements, but it should be appreciated that embodiments of the presentdisclosure are not so limited. In particular, any component or set ofcomponents depicted or described herein may be configured to performsome or all of the steps described in connection with the variousmethods. Moreover, the order of operations described in connection withany particular method should not be construed at limiting the method tothat particular order of operations. Rather, it should be appreciatedthat the steps of any method may be performed in any order and may becombined with steps from any other method described herein.

Referring initially to FIG. 4, a method of initializing and training AIcomponents 216 of an Intelligent IVR Navigator 176 will be described inaccordance with at least some embodiments of the present disclosure. Themethod begins with the Intelligent IVR Navigator 176 receiving trainingdatasets as inputs to the AI components 216 (step 404). The trainingdatasets may be received in the form of IVR-templates 308,IVR-menu-flows 312, and/or IVR-input 316 and may be received at thetraining data ingestion 304. The training datasets may be received for aparticular IVR system 132 of a particular contact center 108 or may bereceived for a more generic IVR system 132 that is common among a numberof different contact centers 108.

The method continues by starting an initial training of the AIcomponents 216 using the training datasets received via the trainingdata ingestion 304 (step 408). During initial training, the AIcomponents 216 may execute separate training sequences by submittingIVR-input data to the AI components 216 in the form of DTMF, spoken,and/or text-based inputs (step 412). In particular, the inputs providedto the AI components during initial training may be provided in a formatnormally used as inputs to an IVR system 132.

The AI components 216 may be trained and behaviors thereof validatedbased on agent 172 interactions or feedback received (step 416). Inparticular, one or more agents 172 of the contact center 108 thatdeploys the IVR system 132 may provide feedback about the relativesuccess of the AI component's 216 automated navigation of the IVR system132. This feedback may be used to finalize the initial training of theIntelligent IVR Navigator 176 and the AI components 216 thereof for theparticular contact center 108. The method may continue by furthertraining the AI components 216 and AI model(s) thereof during productionbased on feedback received from the customer 116 or user that employedthe Intelligent IVR Navigator 176 to interact with the IVR system 132 onbehalf of the customer 1116 (step 420).

As the AI components 216 and AI models thereof are continuously updatedor trained, the model(s) employed by the AI components 216 for purposesof interacting with the particular IVR system 132 may be updated orreplaced as needed (step 424). In particular, if behaviors of theIntelligent IVR Navigator 176 are found to drift away from an acceptableset of behaviors or if more than a predetermined percentage of negativefeedback is received from customers 116 during operation of theIntelligent IVR Navigator 176, then one or more model(s) employed by theAI components 216 for interacting with the contact center 108 may bereplaced with a new model or updated with new coefficient values.

Referring now to FIG. 5, a method of operating an Intelligent IVRNavigator 176 will be described in accordance with at least someembodiments of the present disclosure. The method begins when a customer116 registers either themselves or their customer communication device112 with the Intelligent IVR Navigator 176 (step 504). Registration mayoccur by the customer 116 purchasing access to the Intelligent IVRNavigator 176, downloading an application on their customercommunication device 112, or performing some other task that causes theIntelligent IVR Navigator 176 to build a profile for the customer 116.The registration process may also allow the customer 116 to definecertain desired uses or behaviors of the Intelligent IVR Navigator 176.Specifically, the customer 116 may provide input to the Intelligent IVRNavigator indicating desired uses, which may include an identificationof one or more contact centers 108 the customer 116 would like to accesswith the Intelligent IVR Navigator 176, an identification of entitiesthe customer 116 would like to utilize the Intelligent IVR Navigator176, callback numbers associated with the customer 116, othercommunication mechanisms that can be used to reach the customer 116, andso on (step 508).

During registration and thereafter, the Intelligent IVR Navigator 176may present a user interface to the customer 116 that enables thecustomer 116 to define the companies/entities and requested actions totake with an IVR system 132 of each company (step 512). For instance,the customer 116 may define actions for the Intelligent IVR Navigator176 to take with all IVR systems 132 or particular actions to take witha particular IVR system 132 or company operating the particular IVRsystem 132. The actions may include a definition of the type of supportdesired by the customer 116, whether the support relates to a service orproduct, an identification of the service or product, whether thesupport relates to a currently-owned service or product or a desiredservice or product, customer loyalty information, etc. In someembodiments, options for actions may be provided to the customer 116based on the Intelligent IVR Navigator's 176 understanding of the IVRmenu structure 148 that will be encountered when the Intelligent IVRNavigator 176 contacts the IVR system 132. In other words, if the IVRsystem 132 presents three options at a first node of the IVR menustructure 148 and then four options underneath each of the three initialoptions, the Intelligent IVR Navigator 176 will provide action optionsto the customer 116 that align with the IVR menu structure 148. Theoptions may be presented to the customer 116 in a visual fashion eventhough the Intelligent IVR Navigator 176 will interact with the IVRsystem 132 using the inputs required by the IVR system 132 (e.g., DTMF,voice, text-based, etc.).

After the customer has defined the desired actions (step 516), themethod may continue with the Intelligent IVR Navigator 176 retrievingthe relevant customer support telephone number for the company definedby the customer 116 (step 520). The Intelligent IVR Navigator 176 maythen dial the customer support telephone number to initiate a call tothe company's contact center 108 on behalf of the customer 116 (step524). The call may be initiated immediately after the customer 116 hascompleted the registration and definition of desired actions for thecompany or the Intelligent IVR Navigator 176 may be configured to waitfor a predetermined or defined amount of time prior to calling thecustomer support telephone number. The amount of time that theIntelligent IVR Navigator 176 waits to dial the customer supporttelephone number may be defined by the customer 116 in step 512 or maybe programmatically determined by the Intelligent IVR Navigator 176based on other inputs.

After initiating the call, the Intelligent IVR Navigator 176 may thennavigate the IVR system's 132 IVR menu according to the customer's 116requested actions and IVR preferences defined in step 512 (step 528).That is to say, the Intelligent IVR Navigator 176 is configured totraverse the IVR system 132 and the IVR menu presented by the IVR system132 based on inputs previously provided to the Intelligent IVR Navigator176 prior to the Intelligent IVR Navigator 176 calling the customersupport telephone number.

The method may then continue with the Intelligent IVR Navigator 176communicating with the customer regarding the results of the IVRinteraction and any possible additional steps needed by the customer 116to complete the transaction or self-service process with the company(step 532). The communication between the customer 116 and IntelligentIVR Navigator 176 may occur while the Intelligent IVR Navigator 176 iscommunicating with the IVR system 132 or after the Intelligent IVRNavigator 176 has hung up on the IVR system 132. The communication maytake place using any communication channel (e.g., voice, video, text,chat, application, etc.).

The method may further continue by receiving feedback from the customer116 at the Intelligent IVR Navigator 176 that defines the customer's 116opinion of the IVR experience and whether the Intelligent IVR Navigator176 performed the requested actions in conformity with the customer's116 preferences (step 536). Customer 116 feedback may be used tocontinuously update or train the AI components 216 of the IntelligentIVR Navigator 176. The training may be applied to the AI components 216responsible for interacting with the particular IVR system 132 that wasjust contacted or the training may be applied to other AI components 216that were not used to interact with the particular IVR system 132 (step540).

Referring now to FIG. 6, a method of enabling a customer 116 to defineand utilize IVR preferences at an Intelligent IVR Navigator 176 will bedescribed in accordance with at least some embodiments of the presentdisclosure. The method begins with the Intelligent IVR Navigator 176presenting a user interface 228 to the customer 116 that enables thecustomer 116 to define or predefine one or more default IVR preferences(step 604). As an example, the customer 116 may define one or moreactions that will generically apply to any number of different IVRsystems 132. Examples of such actions may include whether the customer116 desires a callback from the IVR system 132, communicationpreferences (e.g., defined times of availability/unavailability, definedcommunication channels, notification preferences, etc.), whether toutilize a particular name/alias for the customer 116, languagepreferences, and so on.

The user interface 228 may be presented to the customer 116 via a webpage, via an application operating on the customer communication device112, or via any other method suitable to the customer's 116 preferencesand capabilities of the customer communication device 112. The methodcontinues with the Intelligent IVR Navigator 176 receiving input fromthe customer defining one or more default IVR preferences (step 608).The inputs received from the customer may be stored in memory 212 alongwith other profile information for the customer 116 (step 612).Thereafter, when the Intelligent IVR Navigator 176 is invoked tointeract with an IVR system 132 on behalf of the customer 116 (step616), the Intelligent IVR Navigator 176 can access the default IVRpreferences and apply the default IVR preferences along with any otherpreferences or actions defined by the customer 116 that are differentfrom or supplement the default IVR preferences (step 620). If additionalactions are received from the customer that contradict one or moredefault IVR preferences, the Intelligent IVR Navigator 176 may notifythe customer 116 of the contradiction and request that the customer 116define a desired action for a particular IVR interaction to resolve thecontradiction.

With reference now to FIG. 7, another method of operating an IntelligentIVR Navigator 176 will be described in accordance with at least someembodiments of the present disclosure. The method begins afterregistration when the customer 116 provides input to the Intelligent IVRNavigator indicating desired uses, which may include an identificationof one or more contact centers 108 the customer 116 would like to accesswith the Intelligent IVR Navigator 176, an identification of entitiesthe customer 116 would like to utilize the Intelligent IVR Navigator176, callback numbers associated with the customer 116, othercommunication mechanisms that can be used to reach the customer 116, andso on (step 704).

The Intelligent IVR Navigator 176 may present a user interface to thecustomer 116 that enables the customer 116 to define thecompanies/entities and requested actions to take with an IVR system 132of each company (step 708). For instance, the customer 116 may defineactions for the Intelligent IVR Navigator 176 to take with all automatedself-service systems of a contact center 108 or particular actions totake with a particular self-service system or company operating theparticular self-service system. The actions may include a definition ofthe type of support desired by the customer 116, whether the supportrelates to a service or product, an identification of the service orproduct, whether the support relates to a currently-owned service orproduct or a desired service or product, customer loyalty information,etc. In some embodiments, options for actions may be provided to thecustomer 116 based on the Intelligent IVR Navigator's 176 understandingof the IVR menu structure 148 or steps that will be encountered duringinteractions with the contact center's 108 self-service system. In otherwords, if the self-service system is known to include a chatbot thattraverses a particular set of options, the Intelligent IVR Navigator 176will provide action options to the customer 116 that align with theparticular set of options. The options may be presented to the customer116 in a visual fashion even though the Intelligent IVR Navigator 176will interact with a self-service system using the inputs required bythe self-service system (e.g., text-based inputs for interacting with achatbot over an asynchronous communication channel).

After the customer has defined the desired actions (step 712), themethod may continue with the Intelligent IVR Navigator 176 retrievingthe relevant address, web address, SMS number, or contact informationfor the company defined by the customer 116 (step 716). The IntelligentIVR Navigator 176 may then use the address or defined location toinitiate contact with the company's contact center 108 on behalf of thecustomer 116 (step 720). The contact may be initiated immediately afterthe customer 116 has defined the desired actions for the company or theIntelligent IVR Navigator 176 may be configured to wait for apredetermined or defined amount of time prior to contacting the company.The amount of time that the Intelligent IVR Navigator 176 waits tocontact the company may be defined by the customer 116 in step 712 ormay be programmatically determined by the Intelligent IVR Navigator 176based on other inputs.

After initiating the contact, the Intelligent IVR Navigator 176 may thenautomatically interact with the company's self-service system (e.g., achatbot) according to the customer's 116 requested actions andpreferences defined in step 712 (step 724). That is to say, theIntelligent IVR Navigator 176 is configured to receive messages from theself-service system and then automatically respond to those messages onbehalf of the customer 116 without necessarily requiring input from thecustomer 116.

The method may then continue with the Intelligent IVR Navigator 176determining that interactions with the self-service system requires somelevel of customer 116 attention (step 728). For instance, theIntelligent IVR Navigator 176 may determine that the conversation withthe self-service system has stalled or determine that the self-servicesystem is confused or providing the same messages repeatedly in responseto inputs provided by the Intelligent IVR Navigator 176. For instance,the Intelligent IVR Navigator 176 may be trained to recognize that achatbot is stuck in a logic loop or cannot meaningfully respond to amessage transmitted by the Intelligent IVR Navigator 176. When theconversation has stalled, the Intelligent IVR Navigator 176 may notifythe customer of the interaction and the need for attention from thecustomer 116 (step 732). The customer 116 may then be connected directlyto the self-service system, thereby enabling the customer 116 tointeract with the self-service system, picking up where the IntelligentIVR Navigator 176 left off in the conversation (step 736). In someembodiments, the customer 116 may be joined to the conversation betweenthe Intelligent IVR Navigator 176 and the self-service system of thecontact center 108 (e.g., added as an additional participant to theconversation). In some embodiments, the customer 116 may be providedwith the last few messages exchanged between the Intelligent IVRNavigator 176 and the self-service system along with a link orinstructions for joining the conversation or starting a new conversationbetween the customer 116 and contact center 108, but with reference tothe previous conversation between the Intelligent IVR Navigator 176 andcontact center 108.

The method may further continue by receiving feedback from the customer116 at the Intelligent IVR Navigator 176 that defines the customer's 116opinion of the experience and whether the Intelligent IVR Navigator 176performed the requested actions in conformity with the customer's 116preferences (step 740). Customer 116 feedback may be used tocontinuously update or train the AI components 216 of the IntelligentIVR Navigator 176. The training may be applied to the AI components 216responsible for interacting with the particular self-service system thatwas just contacted or the training may be applied to other AI components216 that were not used to interact with the particular self-servicesystem (step 744).

Referring now to FIG. 8, a method of enabling an Intelligent IVRNavigator 176 to interact with a new IVR system 132 will be described inaccordance with at least some embodiments of the present disclosure. Themethod begins by establishing a secure connection (e.g., communicationchannel) between the contact center 108 of a new company and theIntelligent IVR Navigator 176 (step 804). The secure communicationchannel may be used by the contact center 108 to share the IVR menustructure 148 with the Intelligent IVR Navigator 176 (step 808). Thecontact center 108 may also provide other information used to interactwith the IVR system 132, such as IVR prompts 152, input processing 156and the IVR logic 160. Moreover, if historical responses 164 have beenstored by the contact center 108, then the historical responses 164 ofcustomers 116 interacting with the IVR system 132 may also be providedto the Intelligent IVR Navigator 176.

The information received from the contact center 108 at the IntelligentIVR Navigator 176 may then be used to assimilate or build the variousIVR training datasets required to initially train the Intelligent IVRNavigator 176 based on the specific IVR menu structure 148 for the IVRsystem 132 (step 812). The training datasets may include IVR-templates308, IVR-menu-flows 312, and/or IVR-inputs 316.

The method continues with the Intelligent IVR Navigator 176 training oneor more of its AI components 216 (and possibly one or more AI models)with the IVR training datasets (step 816). In some embodiments, theIntelligent IVR Navigator 176 may be configured to obtain a copy of AIcomponents 216 used to interact with another, different, IVR system 132.The AI components 216 may have one or more layers of nodes strippedtherefrom and then the modified AI components 216 may be trained withthe new training dataset. In this way, a proven AI component 216 can beleveraged for use with the new IVR system 132, but the training of theAI component 216 can be specifically tailored to the new IVR system 132.

After the Intelligent IVR Navigator 176 has been updated to support thenew IVR system 132 (e.g., AI components 216 have been trained on the IVRsystem 132), the method may continue with the Intelligent IVR Navigator176 updating its menu to indicate that services can be provided for thenew IVR system 132 and the company that provides the new IVR system 132(step 820).

The present disclosure, in various aspects, embodiments, and/orconfigurations, includes components, methods, processes, systems, and/orapparatus substantially as depicted and described herein, includingvarious aspects, embodiments, configurations embodiments,subcombinations, and/or subsets thereof. Those of skill in the art willunderstand how to make and use the disclosed aspects, embodiments,and/or configurations after understanding the present disclosure. Thepresent disclosure, in various aspects, embodiments, and/orconfigurations, includes providing devices and processes in the absenceof items not depicted and/or described herein or in various aspects,embodiments, and/or configurations hereof, including in the absence ofsuch items as may have been used in previous devices or processes, e.g.,for improving performance, achieving ease and\or reducing cost ofimplementation.

The foregoing discussion has been presented for purposes of illustrationand description. The foregoing is not intended to limit the disclosureto the form or forms disclosed herein. In the foregoing DetailedDescription for example, various features of the disclosure are groupedtogether in one or more aspects, embodiments, and/or configurations forthe purpose of streamlining the disclosure. The features of the aspects,embodiments, and/or configurations of the disclosure may be combined inalternate aspects, embodiments, and/or configurations other than thosediscussed above. This method of disclosure is not to be interpreted asreflecting an intention that the claims require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive aspects lie in less than all features of a singleforegoing disclosed aspect, embodiment, and/or configuration. Thus, thefollowing claims are hereby incorporated into this Detailed Description,with each claim standing on its own as a separate preferred embodimentof the disclosure.

Moreover, though the description has included description of one or moreaspects, embodiments, and/or configurations and certain variations andmodifications, other variations, combinations, and modifications arewithin the scope of the disclosure, e.g., as may be within the skill andknowledge of those in the art, after understanding the presentdisclosure. It is intended to obtain rights which include alternativeaspects, embodiments, and/or configurations to the extent permitted,including alternate, interchangeable and/or equivalent structures,functions, ranges or steps to those claimed, whether or not suchalternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

What is claimed is:
 1. A method of interacting with a self-servicesystem of a contact center, the method comprising: receiving one or moreinputs from a customer, wherein the one or more inputs define a desiredaction to take on behalf of the customer with the self-service system;storing, in memory, the desired action to take on behalf of thecustomer; obtaining contact information for the self-service system;using the contact information to automatically establish a communicationsession with the self-service system; receiving a prompt from theself-service system; in response to receiving the prompt, accessing thememory; and performing the desired action as a response to the prompt,wherein the desired action is performed during the communication sessionon behalf of the customer, without requiring further customer input. 2.The method of claim 1, further comprising: receiving a second promptfrom the self-service system; determining that the second promptrequires input from the customer; and providing the customer withinformation describing the second prompt along with access to thecommunication session, thereby enabling the customer to respond to thesecond prompt.
 3. The method of claim 2, further comprising: connectingthe customer with the communication session by joining a customercommunication device with a communication channel that is supporting thecommunication session.
 4. The method of claim 1, further comprising:receiving feedback from the customer regarding an accuracy of thedesired action being taken in response to the prompt; and using thefeedback from the customer to train an Artificial Intelligent (AI)component.
 5. The method of claim 4, wherein the feedback from thecustomer is provided as an input to update a model used by the AIcomponent to interact with a different self-service system of adifferent contact center.
 6. The method of claim 4, further comprising:obtaining one or more IVR training datasets from the contact center,wherein the one or more IVR training data sets comprise an IVR-templatesdataset, an IVR-menu-flows dataset, or an IVR-input dataset; and usingthe one or more IVR training datasets to initially train the AIcomponent to interact with the self-service system.
 7. The method ofclaim 1, wherein the self-service system comprises an Interactive VoiceResponse (IVR) system and wherein the desired action is performed byproviding an input to the IVR system.
 8. The method of claim 7, whereinthe input comprises at least one of a Dual-Tone Multi-Frequency (DTMF)input and a voice input.
 9. The method of claim 1, wherein theself-service system comprises a chatbot and wherein the desired actionis performed by providing a text-based message to the chatbot inresponse to the prompt.
 10. A system, comprising: a processor; and acomputer memory storing data thereon that enables the processor to:receive one or more inputs from a customer, wherein the one or moreinputs define a desired action to take on behalf of the customer with aself-service system; store the desired action to take on behalf of thecustomer; obtain contact information for the self-service system;automatically establish a communication session with the self-servicesystem by using the contact information; receive, during thecommunication session, a prompt from the self-service system; andperform the desired action as a response to the prompt, wherein thedesired action is performed during the communication session on behalfof the customer, without requiring further customer input.
 11. Thesystem of claim 10, wherein the data stored on the computer memoryfurther enables the processor to: receive a second prompt from theself-service system; determine that the second prompt requires inputfrom the customer; and provide the customer with information describingthe second prompt along with access to the communication session,thereby enabling the customer to respond to the second prompt.
 12. Thesystem of claim 11, wherein the data stored on the computer memoryfurther enables the processor to: connect the customer with thecommunication session by joining a customer communication device with acommunication channel that is supporting the communication session. 13.The system of claim 10, wherein the data stored on the computer memoryfurther enables the processor to: receive feedback from the customerregarding an accuracy of the desired action being taken in response tothe prompt; and use the feedback from the customer to train anArtificial Intelligent (AI) component, wherein the feedback from thecustomer is provided as an input to update a model used by the AIcomponent to interact with a different self-service system of adifferent contact center.
 14. The system of claim 10, wherein theself-service system comprises an Interactive Voice Response (IVR)system, wherein the desired action is performed by providing an input tothe IVR system, and wherein the input comprises at least one of aDual-Tone Multi-Frequency (DTMF) input and a voice input.
 15. The systemof claim 10, wherein the self-service system comprises a chatbot andwherein the desired action is performed by providing a text-basedmessage to the chatbot in response to the prompt.
 16. A non-transitorycomputer-readable medium comprising processor-executable instructionsstored thereon, comprising: instructions that receive one or more inputsfrom a customer, wherein the one or more inputs define a desired actionto take on behalf of the customer with a self-service system;instructions that obtain contact information for the self-servicesystem; instructions that automatically establish a communicationsession with the self-service system by using the contact information;instructions that receive, during the communication session, a promptfrom the self-service system; and instructions that perform the desiredaction as a response to the prompt, wherein the desired action isperformed during the communication session on behalf of the customer,without requiring further customer input.
 17. The non-transitorycomputer-readable medium of claim 16, wherein the instructions furthercomprise: instructions that receive a second prompt from theself-service system; instructions that determine that the second promptrequires input from the customer; and instructions that provide thecustomer with information describing the second prompt along with accessto the communication session, thereby enabling the customer to respondto the second prompt.
 18. The non-transitory computer-readable medium ofclaim 16, wherein the instructions further comprise: instructions thatreceive feedback from the customer regarding an accuracy of the desiredaction being taken in response to the prompt; and instructions that usethe feedback from the customer to train an Artificial Intelligent (AI)component, wherein the feedback from the customer is provided as aninput to update a model used by the AI component to interact with adifferent self-service system of a different contact center.
 19. Thenon-transitory computer-readable medium of claim 16, wherein theself-service system comprises an Interactive Voice Response (IVR)system, wherein the desired action is performed by providing an input tothe IVR system, and wherein the input comprises at least one of aDual-Tone Multi-Frequency (DTMF) input and a voice input.
 20. Thenon-transitory computer-readable medium of claim 16, wherein theself-service system comprises a chatbot and wherein the desired actionis performed by providing a text-based message to the chatbot inresponse to the prompt.